#ifndef LEVEL_STATE_H
#define LEVEL_STATE_H

#include "BaseState.h"
#include "../Wrapper/CSGD_Direct3D.h"

#define	NUM_TILES	4
#define	TILE_SIZE	64

class Map;
class Game;
class ObjectManager;
class CSGD_TextureManager;

class LevelState : public BaseState
{
public:
	LevelState();
	~LevelState();

	void Enter();
	bool Input();
	void Update(float _dT);
	void Render();
	void Exit();

private:
	bool LoadLevel(const char* _fileName);

private:
	Map* map;
	int trackImageID;
	int cursorImageID;
	int outlineImageID;
	int currTile;
	bool toggleRotate;

	// TEMPORARY
	RECT tempRect;

	POINT tileLoc[NUM_TILES];

	// Singleton Pointers
	Game* game;
	ObjectManager* objManager;
	CSGD_TextureManager* texManager;

};

#endif	// LEVEL_STATE_H